// package com.yhl.login;
//
// /**
//  * @author: yanghl
//  * @description: 创建一个工具类来生成和验证 JWT
//  * @date: 2024/7/15 17:29
//  */
// import io.jsonwebtoken.Claims;
// import io.jsonwebtoken.Jwts;
// import io.jsonwebtoken.SignatureAlgorithm;
// import org.springframework.stereotype.Component;
//
// import java.util.Date;
//
// @Component
// public class JwtUtil {
//
//     private String secret = "secret";
//
//     public String generateToken(String username) {
//         return Jwts.builder()
//                 .setSubject(username)
//                 .setIssuedAt(new Date())
//                 .setExpiration(new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 10)) // 10 hours
//                 .signWith(SignatureAlgorithm.HS256, secret)
//                 .compact();
//     }
//
//     public Claims extractClaims(String token) {
//         return Jwts.parser()
//                 .setSigningKey(secret)
//                 .parseClaimsJws(token)
//                 .getBody();
//     }
//
//     public boolean validateToken(String token, String username) {
//         final String extractedUsername = extractClaims(token).getSubject();
//         return (extractedUsername.equals(username) && !isTokenExpired(token));
//     }
//
//     private boolean isTokenExpired(String token) {
//         return extractClaims(token).getExpiration().before(new Date());
//     }
// }
//
